package com.itany.corejava.code16_反射;

import com.itany.corejava.code15_stream.Dept;

/**
 * @author Miss Chen
 * @version 1.0
 * @date 2024年08月12日9:51
 */
public class Test01_获取Class对象 {

    //反射允许对成员变量、成员方法和构造方法的信息进行编程访问
    public static void main(String[] args) throws ClassNotFoundException {
        // 方式一:调用类的class属性
       Class c1= Dept.class;
        System.out.println(c1);

        //方式二:调用对象的getClass
        Dept d=new Dept();
        Class c2=d.getClass();
        System.out.println(c2);

        //方式三:通过Class提供的静态方法forName()获取
        Class c3=Class.forName("com.itany.corejava.code15_stream.Dept");
        System.out.println(c3);

        //JVM内存中, 可以有无数个Class对象
        //JVM内存中, 对于同一个Java类, 只能有一个Class对象
        System.out.println(c1==c2);//true
        System.out.println(c2==c3);//true
    }
}
